perm filename NOTES.ACK[LSP,JRA]8 blob
sn#316166 filedate 1977-11-07 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .TENPOINT←FALSE
C00011 ENDMK
C⊗;
.TENPOINT←FALSE
.VARIABLE FIRST_PAR,par; <<**********>>
.par←6;<<**********>>
.DEVICE XGP;
.!XGPLFTMAR←200;
.charw←12
.MACRO PAPER_SIZE(X,Y) ⊂ MILL_PAPER_HEIGHT←Y; MILL_PAPER_WIDTH←X; ⊃
.
.VARIABLE PAGE_HEIGHT, PAGE_WIDTH
.
.MACRO MARGINS (εLEFT,εRIGHT,εTOP,εBOTTOM) ⊂ BEGIN GROUP SELECT 1;
. IF MILL_PAPER_HEIGHT ≤ 0 THEN MILL_PAPER_HEIGHT←11000; <<8.5" X 11" DEFAULT>>
. IF MILL_PAPER_WIDTH ≤ 0 THEN MILL_PAPER_WIDTH ← 8500;
.
. BIT_RASTER_WIDTH←(MILL_PAPER_WIDTH*HBPI)/1000;
. BIT_RASTER_HEIGHT←(MILL_PAPER_HEIGHT*VBPI)/1000;
.
. IF LEFT ≥ 0 THEN ODDLEFTBORDER←LEFT ELSE ODDLEFTBORDER←1500;
. IF RIGHT ≥ 0 THEN RIGHTBORDER←RIGHT ELSE RIGHTBORDER←1000;
. IF TOP ≥ 0 THEN TOPBORDER←TOP ELSE TOPBORDER←1000;
. IF BOTTOM ≥ 0 THEN BOTTOMBORDER←BOTTOM ELSE BOTTOMBORDER←500;
.
. EVENLEFTBORDER←ODDLEFTBORDER; XGP_VSP←(MILLSPACING*VBPI)/1000;
.
. PAGE_WIDTH←(BIT_RASTER_WIDTH-(HBPI*(ODDLEFTBORDER+RIGHTBORDER))/1000)/CHARW
. PAGE_HEIGHT←(BIT_RASTER_HEIGHT-(VBPI*(TOPBORDER+BOTTOMBORDER))/1000)
. /(CHARH+XGP_VSP);
.
. hlines←page_height-2;
. wchars←page_width
.
. PAGE FRAME PAGE_WIDTH WIDE PAGE_HEIGHT HIGH
. TITLE AREA HEADING LINES 1 TO 2
. AREA TExT LINES 3 TO PAGE_HEIGHT-2
. TITLE AREA FOOTING LINE PAGE_HEIGHT
. PLACE TExT
. END ⊃;
.area text lines 3 to 47 ;<<**********>>
.HLINES← IF XCRIBL THEN 45 ELSE 53 << 49 NUMBER OF LINES/PAGE >>
.WCHARS← IF XCRIBL THEN 81 ELSE 69 << 81 NUMBER OF CHARS/LINE >>
.<<margins(1850,1750,1375,1375); >>
.HLINES← IF XCRIBL THEN 49 ELSE 53; << NUMBER OF LINES/PAGE >>
.WCHARS← IF XCRIBL THEN 81 ELSE 69; << NUMBER OF CHARS/LINE >>
.PAGE FRAME HLINES+2 HIGH WCHARS WIDE;
.AREA TEXTER LINES 4 TO HLINES CHARS 1 TO WCHARS;
.REQUIRE "MACROS" SOURCE_FILE;
.paper_size(0,0);
.margins(1756,1656,1375,1375);
.turn on "%","#";
.begin CENTer;select 2;
Acknowledgements
.end
.select 1;fill
.fp
This book began informally at UCLA in 1970 as an alternative to the data
structures course. Any book which takes eight years to complete must
have a list of acknowledgements.
Between the 1970 manuscript and the present
version stretches an incredible list of revisions and rewritings.
That task was made possible only by the document
preparation system at the Stanford Artificial Intelligence Laboratory.
The Artificial Intelligence community is still the superior
developer of computer related tools.
The final shape of this book has been guided by many sources, but particularly
I would like to mention Michael Burke and the San Jose State Mathematics
Department, who
allowed me to use my manuscript in their data structures course.
To Nancy Meller of the UCLA Computer Science Department for typing the
orginal LISP notes.
To Les Earnest of the Stanford A.I. Labs for aid beyond the call of duty.
To Paulette for trying to understand.
To Richard Manuck of the Stanford Computer Science Library, a most excellent
librarian with an exceptional library.
To John McCarthy for the insight which led to LISP, and
for establishing an environment at Stanford which
is staffed so admirably and supplied with so many talented people.
To E, PUB, and the XGP, for existing.
To Dick Dolan and the staff of the H-P Journal, who both tolerated and
sympathized with my attempts to transform the computer generated text into
something which could be typeset.
Particular mention must go to Guy Steele
and Gianfranco Prini. Guy reviewed a much inferior
version of this text. His insights, comments, and criticisms
were invaluable. With comments like: "that's not a compromise, it's a
bloody surrender!", the text was bound to improve. Gianfranco, was more
fortunate; he reviewed the results of Guy's scoldings.
.turn on "#";
Many other people have had significant influence on the text. I feel fortunate
to be able to acknowledge these individuals:
Bruce Anderson,
Bob Boyer,
Michael Clancy,
Bob Doran,
Daniel Friedman,
Richard Gabriel,
Michael Gordon,
Patrick Greussay,
Anthony Hearn,
Freidrich von#Henke,
Forrest Howard,
Bill McKeeman,
Peter Milne,
J#S. Moore,
Jorge Morales,
Charles Prenner,
Steve Russell,
Hanan Samet,
Vic Scheinman,
Herbert Stoyan,
Dennis Ting,
and Steve Ward.
I apologize to any individuals I neglected to mention; I
must surely have forgotten someone.
Similarly there are topics related to LISP which I have neglected.
The whole area of Artificial Intelligence applications has been
slighted, but
for every author there must come a time when you have to say "Enough!"
I've been saying that for several years. It is particularly difficult
to cease when dealing with a topic as dynamic as LISP. Many sections
only hint at deeper problems, and surely some errors persist; but "Enough!"
As always, it is the author's responsibility for the final shape of a
document; the substantial and textual errors, errors of omission and commission
are all mine. Each of the reviewers objected strongly to one or more facets
of this book; to some, it was too theoretical; for some, too practical.
I must have done something right.
.NEXT PAGE;
.GROUP SKIP 10;
.TABIT3(20,30,40);
.SELECT 3;
\To my parents, John & Esther Allen
\\To my friend and wife, Ruth E. Davis
\\\To my sons, Christopher & Geoffrey.